uv lock的用途

uv lock 是用來解析 Python 專案的依賴並建立或更新 lockfile 的指令,確保環境一致性與可重現性。

🔧 uv lock 的基本用途

uv lockuv 工具的一部分,用來管理 Python 專案的依賴。它會根據 pyproject.toml 中的設定解析套件版本,並產生一個 lockfile(通常是 uv.lock),確保每次安裝的依賴版本都一致。

📌 常見指令與選項

指令 功能說明
uv lock 建立或更新 lockfile
uv lock --check 檢查 lockfile 是否與 pyproject.toml 一致
uv lock --upgrade 升級所有依賴到符合版本範圍的最新版本
uv lock --upgrade <package> 升級指定套件
uv lock --no-optional 忽略 optional dependencies
uv lock --features <feature> 鎖定指定 feature 的依賴(對於 extras)

🧠 使用情境範例

✅ 建立 lockfile

uv lock

✅ 檢查 lockfile 是否過期

uv lock --check

✅ 升級特定套件

uv lock --upgrade requests

✅ 鎖定 extras(例如 dev)

uv lock --features dev

📁 Lockfile 的角色

  • 確保一致性:所有開發者與 CI/CD 都使用相同版本。
  • 加速安裝uv sync 根據 lockfile 安裝,不需重新解析依賴。
  • 安全性與可預測性:避免因套件更新導致行為改變。
    | index | contents |